﻿namespace com.binance.client.model.user
{
	using BinanceApiConstants = com.binance.client.constant.BinanceApiConstants;
	using ToStringBuilder = org.apache.commons.lang3.builder.ToStringBuilder;

	public class OrderUpdate
	{

		private string symbol;

		private string clientOrderId;

		private string side;

		private string type;

		private string timeInForce;

		private decimal origQty;

		private decimal price;

		private decimal avgPrice;

		private decimal stopPrice;

		private string executionType;

		private string orderStatus;

		private long? orderId;

		private decimal lastFilledQty;

		private decimal cumulativeFilledQty;

		private decimal lastFilledPrice;

		private string commissionAsset;

		private long? commissionAmount;

		private long? orderTradeTime;

		private long? tradeID;

		private decimal bidsNotional;

		private decimal asksNotional;

		private bool? isMarkerSide;

		private bool? isReduceOnly;

		private string workingType;

		public virtual string Symbol
		{
			get
			{
				return symbol;
			}
			set
			{
				this.symbol = value;
			}
		}


		public virtual string ClientOrderId
		{
			get
			{
				return clientOrderId;
			}
			set
			{
				this.clientOrderId = value;
			}
		}


		public virtual string Side
		{
			get
			{
				return side;
			}
			set
			{
				this.side = value;
			}
		}


		public virtual string Type
		{
			get
			{
				return type;
			}
			set
			{
				this.type = value;
			}
		}


		public virtual string TimeInForce
		{
			get
			{
				return timeInForce;
			}
			set
			{
				this.timeInForce = value;
			}
		}


		public virtual decimal OrigQty
		{
			get
			{
				return origQty;
			}
			set
			{
				this.origQty = value;
			}
		}


		public virtual decimal Price
		{
			get
			{
				return price;
			}
			set
			{
				this.price = value;
			}
		}


		public virtual decimal AvgPrice
		{
			get
			{
				return avgPrice;
			}
			set
			{
				this.avgPrice = value;
			}
		}


		public virtual decimal StopPrice
		{
			get
			{
				return stopPrice;
			}
			set
			{
				this.stopPrice = value;
			}
		}


		public virtual string ExecutionType
		{
			get
			{
				return executionType;
			}
			set
			{
				this.executionType = value;
			}
		}


		public virtual string OrderStatus
		{
			get
			{
				return orderStatus;
			}
			set
			{
				this.orderStatus = value;
			}
		}


		public virtual long? OrderId
		{
			get
			{
				return orderId;
			}
			set
			{
				this.orderId = value;
			}
		}


		public virtual decimal LastFilledQty
		{
			get
			{
				return lastFilledQty;
			}
			set
			{
				this.lastFilledQty = value;
			}
		}


		public virtual decimal CumulativeFilledQty
		{
			get
			{
				return cumulativeFilledQty;
			}
			set
			{
				this.cumulativeFilledQty = value;
			}
		}


		public virtual decimal LastFilledPrice
		{
			get
			{
				return lastFilledPrice;
			}
			set
			{
				this.lastFilledPrice = value;
			}
		}


		public virtual string CommissionAsset
		{
			get
			{
				return commissionAsset;
			}
			set
			{
				this.commissionAsset = value;
			}
		}


		public virtual long? CommissionAmount
		{
			get
			{
				return commissionAmount;
			}
			set
			{
				this.commissionAmount = value;
			}
		}


		public virtual long? OrderTradeTime
		{
			get
			{
				return orderTradeTime;
			}
			set
			{
				this.orderTradeTime = value;
			}
		}


		public virtual long? TradeID
		{
			get
			{
				return tradeID;
			}
			set
			{
				this.tradeID = value;
			}
		}


		public virtual decimal BidsNotional
		{
			get
			{
				return bidsNotional;
			}
			set
			{
				this.bidsNotional = value;
			}
		}


		public virtual decimal AsksNotional
		{
			get
			{
				return asksNotional;
			}
			set
			{
				this.asksNotional = value;
			}
		}


		public virtual bool? IsMarkerSide
		{
			get
			{
				return isMarkerSide;
			}
			set
			{
				this.isMarkerSide = value;
			}
		}


		public virtual bool? IsReduceOnly
		{
			get
			{
				return isReduceOnly;
			}
			set
			{
				this.isReduceOnly = value;
			}
		}


		public virtual string WorkingType
		{
			get
			{
				return workingType;
			}
			set
			{
				this.workingType = value;
			}
		}


		public override string ToString()
		{
			return (new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE)).append("symbol", symbol).append("clientOrderId", clientOrderId).append("side", side).append("type", type).append("timeInForce", timeInForce).append("origQty", origQty).append("price", price).append("avgPrice", avgPrice).append("stopPrice", stopPrice).append("executionType", executionType).append("orderStatus", orderStatus).append("orderId", orderId).append("lastFilledQty", lastFilledQty).append("cumulativeFilledQty", cumulativeFilledQty).append("lastFilledPrice", lastFilledPrice).append("commissionAsset", commissionAsset).append("commissionAmount", commissionAmount).append("orderTradeTime", orderTradeTime).append("tradeID", tradeID).append("bidsNotional", bidsNotional).append("asksNotional", asksNotional).append("isMarkerSide", isMarkerSide).append("isReduceOnly", isReduceOnly).append("workingType", workingType).ToString();
		}
	}

}